// pages/home/home.js
import { getUserChannel,getAllUserChannel } from "../../api/user";
import { getArticleList } from "../../api/articles";
Page({

  /**
   * 页面的初始数据
   */
  data: {
    channels:[],
    channelsEdit:[],
    active:1,
    isShow:false,//控制下划线的
    id:0,
    articleList:[], //文章列表
    show: false,//控制弹出层
    refresher:false, //开始状态为可以刷新的状态 ，拿到数据改为true
    editShow:true,
    chaHaoShow:false,
  },
  // 点击菜单图标控制弹出层
 async handleIcon(){
  // 拿取频道的全部数据
  const res = await getAllUserChannel()
  console.log(res);//拿到全部频道数据
    const channels1 = [...this.data.channels]
    channels1.shift()
    this.setData({
      show:true,
      channelsEdit:channels1
    })
  },
  // 关闭弹出层
  onClose(){
    // console.log(123);
    this.setData({
      show:false
    })
  },
  // 点叉号消失 把数据改了重新渲染
 async loseChahao(e){
  // 问题点击拿不到target的id，只能通过冒泡拿它父级的id
    // console.log(e.currentTarget.dataset.id+'张三');//拿到了id
    const id = e.currentTarget.dataset.id
    // console.log(e);
    // console.log(this.data.channelsEdit);
  const index = this.data.channelsEdit.findIndex(item=>item.id === id)
  // console.log(index);
 this.data.channelsEdit.splice(index,1)
//  console.log(this.data.channelsEdit);
    this.setData({
      channelsEdit:this.data.channelsEdit
    })
    // 请求删除频道的数据：游客不能操作提示，拿不到数据
// const res =  await removeUserChannel(id)
// console.log(res);
  },
  // 传id跳转到详情页
  getArticleDetail(e){
    // console.log(123);
    const id = e.currentTarget.dataset.id
    // console.log(e.currentTarget.dataset.id);
  wx.navigateTo({ 
  url:'/pages/detail/detail?id='+id
})
  },
  // 获取文章详情的id
  // getArticleDetail(e){
  //   console.log(e);
  //   // 在currentTarget获取到id
  // },
  // scroll下拉刷新时触发
  async onPulling(){
    this.setData({
      articleList:[],
      refresher:false//下拉刷新后会自动变为true，变为true就是不能刷新的状态
      // 所以获取完数据后要重新变为可以刷新的状态
    })
    this.getArticleList()
  //  拿到数据关闭刷新
  // 关闭下来刷新
  wx.stopPullDownRefresh()
  },
  // handleTab(id,e){
  //   console.log(id,e);
  // },
  // 获取频道信息
  // async getArticleList(){
  //   const {data} = await getArticleList({
  //   channel_id:0,
  //   with_top:1,
  //   timestamp:new Date().getTime()
  //   })
    
  //   },
  // 获取频道的数据
 async getArticleList(){
    // console.log( typeof this.data.id,typeof new Date().getTime());
 const {data} = await getArticleList({channel_id:this.data.id,
      with_top:1,
      timestamp:new Date().getTime(),
      })
    //   console.log(data);
    // const res =   this.data.articleList.map(item=>item.cover)
    //   console.log(res);
      this.setData({
        articleList:data.results
      })
      
    // getArticleList({channel_id:this.data.id,
    //   timestamp:new Date().getTime(),with_top:1})
    // console.log(1);
  },
  // 拿到id
  handleId(e){
    console.log(e);
    this.setData({
      id:e.detail.index
    })
    // 点击完重新渲染
    this.getArticleList()
    // console.log(new Date().getTime());
    
    // console.log(title);
  },
  async getUserChannel(){
   const res = await getUserChannel()
   console.log(res);
   this.setData({
    channels:res.data.channels,
    isShow:true
   })
  },
  // 弹出层js代码
  // 点击编辑
  handleEdit(e){
    // console.log(e);
    this.setData({
      editShow:!this.data.editShow
    })
    console.log(this.data.chaHaoShow);
    if(!this.data.editShow){
      console.log(123);
      this.setData({
        chaHaoShow:true
      })
    }else{
      console.log(234);
      this.setData({
        chaHaoShow:false
      })
    }
  },
  // 弹出层需要的channels数据
  
  // 
  /**
   * 生命周期函数--监听页面加载 可以拿到上一页的参数
   */
  onLoad(options) {
   this.getUserChannel()
   this.getArticleList()
  },
 
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
 async onShow() {
  // this.getArticleList()
  },

  /**
   * 生命周期函数--监听页面隐藏 跳到其他页面，会触发
   * 因为上一个页面并没有销毁而是隐藏了
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },
  // 页面滚动给的是scroll
  async PullUpBottom(){
    console.log(123);
    const {data} = await getArticleList({channel_id:this.data.id,
      with_top:1,
      timestamp:new Date().getTime(),
      })
      this.setData({
        articleList:[...data.results,...this.data.articleList]
      })
  },
  /**
   * 页面上拉触底事件的处理函数
   */
   onReachBottom() {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})